<?php

class ClientsController extends AppController {
    
    public function index() {
        
    }
    public function l() {
        $this->set('title_for_layout', 'Listar cargos');
        $this->paginate = array(
            'limit' => 25,
            'order' => array(
                'Business.created' => 'desc'
            )
        );
        $this->set('businesses', $this->paginate());
    }

    public function add() {
        $this->set('title_for_layout', 'Adicionar Cliente');
        if ($this->request->is('post')) {
            $this->request->data['Client']['_user'] = AuthComponent::user('id');
            if ($this->validar($this->request->data, 0)) {
                if ($this->Client->save($this->request->data)) {
                    $this->Session->setFlash('O cliente foi salvo com sucesso.', 'success');
                }
            } else {
                $this->Session->setFlash('Esse cliente já existe.', 'failure');
            }
        }
    }

    public function delete($id = 0) {
        if ($id) {
            if ($this->Client->delete($id)) {
                $this->Session->setFlash(__('O cliente foi deletado com sucesso.'), 'success');
            } else {
                $this->Session->setFlash('Não foi possivel deletar.');
            }
            $this->redirect('/Clients/l?s=2');
        }
    }

    public function edit($id = 0) {
        if ($id) {

            if (!$this->Client->exists()) {
                //throw new NotFoundException(__('Invalid user'));
                $this->Session->setFlash(__('O cliente não pôde ser encontrado.'), 'failure');
                $this->redirect('/Clients/l?s=2');
            }
            if ($this->request->is('post') || $this->request->is('put')) {
                $this->log($this->request->data);
                $this->request->data['Client']['_user'] = AuthComponent::user('id');
                if ($this->validar($this->request->data, $id)) {
                    if ($this->Client->save($this->request->data)) {
                        $this->Session->setFlash(__('O cliente foi salvo com sucesso'), 'success');
                    }
                } else {
                    $this->Session->setFlash(__('Esse cliente já existe'), 'failure');
                }
            }
            $this->request->data = $this->Client->read(null, $id);
            $this->set('id', $id);
        } else {
            $this->Session->setFlash(__('O cliente não pôde ser encontrado.'), 'failure');
            $this->redirect('/Clients/l?s=2');
        }
    }

    public function view($id = 0) {
        if ($id) {
            $this->loadModel('Client');
            $this->set('title_for_layout', "Visualizar cliente");
            if ($id) {
                $user = $this->Client->findById($id);
                if (!$this->request->is('requested'))
                    $this->set("client", $user);
                else {
                    return $user;
                }
            }
        }
    }

    public function validar($data = array(), $id) {
        $data2 = $this->Client->find('first', array('conditions' => array('Client.name' => $data['Client']['name'])));
        return !($data2 && $data2['Client']['id'] != $id);
    }
}
?>
